package tp.tecnicasdisenio.dao;

import tp.tecnicasdisenio.model.entity.Alumno;
import tp.tecnicasdisenio.model.entity.Cuatrimestre;
import tp.tecnicasdisenio.model.entity.Grupo;
import tp.tecnicasdisenio.model.entity.Grupo.ClaveGrupo;
import tp.tecnicasdisenio.model.entity.Materia;

public interface GrupoDaoInterface extends DaoInterface<Grupo, ClaveGrupo>{

	/**
	 * Obtiene el grupo del alumno que se encuentra inscripto en la materia indicada el cuatrimestre indicado 
	 * @param alumno
	 * @param materia
	 * @param cuatrimestre
	 * @return el grupo del alumno o null si el grupo no se encontro con los datos indicados
	 */
	public Grupo getGrupoDel(Alumno alumno, Materia materia, Cuatrimestre cuatrimestre);
		
	/**
	 * Inscribe alumno en grupo
	 * 
	 * @param grupoNuevo
	 * @param alumno
	 */
	public void altaEnGrupo(Grupo grupoNuevo, Alumno alumno);

}
